﻿using System;

namespace Demo05202
{
    class Program
    {
//        二、创建一个Shape（形状）类，此类包含一个名为color的数据成员，用于存储颜色，
//            这个类还包含一个名为GetArea()的虚方法（这个方法是用来获取形状面积的）。
//基于这个Shape，创建两个子类：Circle（圆形类）和Square（正方形类），
// Circle类中包含radius（半径）的数据成员，Square类中包含sideLen（边长）的数据成员，
//            这两个子类都去重写父类的GetArea()方法，各自去实现计算自己的面积。
//在主类中添加一个方法，参数类型就是Shape，方法体中，用形参去调用GetArea()方法。
//main方法中去测试这个方法。


        static void Main(string[] args)
        {

            Console.WriteLine("请选择要执行运算方法前的序号：1、圆形面积 2、正方形面积");
            int key = int.Parse(Console.ReadLine());

            Console.WriteLine("请输入要计算的半径或边长：");
            double num1 = double.Parse(Console.ReadLine());
         
            Shape sh;
            switch (key)
            {
                case 1:
                    sh = new Circle();
                    break;
                case 2:
                    sh = new Square();
                    break;
                default:
                    Console.WriteLine("请慎重选择！！");
                    sh = new Circle();
                    break;
            }
              Sele(sh,num1);
        }
        static void Sele(Shape sh,double num1) 
        {
            sh.GetArea(num1);
        }
    }
}
